package net.mingsoft.message_center.dao;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import net.mingsoft.message_center.action.q.MessageListQuery;
import net.mingsoft.message_center.action.r.MessageResponse;
import net.mingsoft.message_center.entity.MessageCenterEntity;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author gengfa
 * @date 22/02/07
 */
public interface MessageCenterDAO {

    /**
     * 新增消息
     * @param entity 消息
     * @return 新增情况
     */
    int insertOne(MessageCenterEntity entity);

    /**
     * 查询列表
     * @param page 分页
     * @param query 查询条件
     * @return 查询列表
     */
    Page<MessageResponse> selectList(@Param("page") Page<?> page,
                                     @Param("query") MessageListQuery query,
                                     @Param("id") String id,
                                     @Param("showPubRequest") Boolean showPubRequest);

    /**
     * 根据用户ID查询列表
     * @param userId 用户ID
     * @return 消息列表
     */
    List<MessageResponse> selectListByUserId(long userId);
}
